#pragma once

#include "IRenderizable.h"
#include "Escalera.h"
#include "Columna.h"
#include "Losa.h"
#include "Pared.h"
#include "Ventanal.h"
#include "Ducto.h"


class Piso : public IRenderizable {
public:
	Piso(float ancho, float largo);

	virtual void init(const glm::vec3 &DireccionLuz);
	virtual void renderizar(const glm::mat4 &matVista, const glm::mat4 &matProyeccion, const glm::mat4 &matModelo) const;

	void rotarEscaleras(bool r) const;

private:
	// El mutable no fue una buena solucion, pero funciona
	mutable bool m_rotarEscalera;

	const float m_ancho;
	const float m_largo;

	Losa m_losa;
	Columna m_columna;
	Escalera m_escalera;
	Pared m_pared;
	Ventanal m_ventanal;
	Ducto m_ducto;
};

